import java.util.Scanner;
import java.util.Random;
/**
 * \* Created with IntelliJ IDEA.
 * \* User: Administrator
 * \* Date: 2021/10/17
 * \* Time: 15:05
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */
public class TestDemo {

    //

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num=sc.nextInt();
        int count=0;
        for(int i=0;i<32;i++){
            if((1&(num>>i))==1){
                count++;
            }
        }
        System.out.println("num在内存中存储时二进制1的个数为："+count);

    }











    //求两个正整数的最大公约数

    public static int gcd1(int m,int n) {
        int t;
        if(m<n) {
            t=m;
        }else {
            t=n;
        }
        while(m%t!=0||n%t!=0){
            t--;
        }
        return t;
    }
    public static void main12(String[] args) {
        System.out.println("请输入两个正整数:");
        Scanner scan = new Scanner(System.in);
        Scanner scan2=new Scanner(System.in);
        int m=scan.nextInt();
        int n=scan2.nextInt();
        System.out.println("最大公约数是:"+gcd1(m,n));

    }











    public static void main11(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入两个整数：");
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=a%b;
        if(c==0){
            System.out.println("最大公约数为："+b);
        }
        else {
            while (c!=0){
                b=a;
                c=b;
                c=a%b;
            }

            System.out.println("最大公约数为："+b);
        }
    }


    public static void main9(String[] args) {
        int i;
        int j = 1;
        double sum = 0;
        for(i=1;i<101;i++){
            sum += 1.0/i * j;
            j = -j;
        }
        System.out.println(sum);
    }


    //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
    public static void main10(String[] args) {
        int i=0;
        double sum1=0;
        double sum2=0;
        double sum=0;
        for(i=1;i<=100;i++){
            //对于奇数
            if (i%2!=0){
                sum1=sum1+1.0/i;

            }
            //对于偶数
            if(i%2==0){
                sum2=sum2+1.0/i;

            }
        }
        //两数相减
        sum=sum1-sum2;
        System.out.println("sum1="+sum1);
        System.out.println("sum2="+sum2);
        System.out.println(sum);

    }


    //求出0～999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数
    // 其各位数字的立方和确好等于该数本 身，
    // 如；153＝1＋5＋3?，则153是一个“水仙花数“。）
    public static void main8(String[] args) {
        int i=0;
        int a=0;
        int b=0;
        int c=0;
        for(i=0;i<=999;i++){
            a=i/100;
            b=i/10%10;
            c=i%10;
            if(i==a*a*a+b*b*b+c*c*c){
                System.out.println(i);
            }
        }
    }


    //针对每行输入，输出用“*”组成的X形图案。

    public static void main7(String[] args) {
        Random random=new Random();
        Scanner sc=new Scanner(System.in);
        int guess=random.nextInt(100);
        while (true){
            System.out.println("请输入数字：");
            int num=sc.nextInt();
            if(num<guess){
                System.out.println("猜小了");
            }
            else if(num>guess) {
                System.out.println("猜大了");
            }
            else{
                System.out.println("猜对了");
                break;
            }
        }
    }


    public static void main6(String[] args) {
        Scanner s = new Scanner(System.in);
        while (s.hasNext()){
            int n= s.nextInt();
            for (int i = 0; i <n ; i++) {
                for (int j = 0; j < n; j++) {
                    if(i==j){
                        System.out.print("*");//相等为*
                    }else if(j == n-i-1){
                        System.out.print("*");//j=n-i-1也为*
                    }else {
                        System.out.print(" ");//其余打印空格
                    }
                }
                System.out.println();//换行打印
            }
        }
    }



    //根据输入的年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
    public static void main5(String[] args) {
        while(true){
            System.out.println("请输入要判断的年龄");
            Scanner in=new Scanner(System.in);
            int age=in.nextInt();
            if(age<0){
                System.out.println("输入有误，重新输入");
                continue;
            }
            if(age>=0&&age<=18){
                System.out.println("少年");
                break;
            }
            if(age>=19&&age<=28){
                System.out.println("少年");
                break;
            }
            if(age>=29&&age<=55){
                System.out.println("中年");
                break;
            }
            else{
                System.out.println("老年");
                break;
            }
        }
    }






    //给定一个数字，判定一个数字是否是素数
    public static void main4(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数：");
        int a = sc.nextInt();
        boolean flag = true;
        for (int i = 2; i < a; i++) {
            if (a % i == 0) {
                flag = false;
                break;
            }
        }
        if (flag && a != 1) {
            System.out.println(a + ":是素数");
        } else {
            System.out.println(a + ":不是素数");
        }
    }



    //打印 1 - 100 之间所有的素数
    public static void main3(String[] args) {
        for(int i=1;i<=100;i++){
            int count=0;
            for(int j=1;j<=i;j++){
                if(i%j==0){
                    count++;
                }
            }
            if(count==2){
                System.out.println(i);
            }
        }
    }




    //输出 1000 - 2000 之间所有的闰年
    public static void main2(String[] args) {
        int year=0;
        int count=0;
        for(year=1000;year<=2000;year++){
            if(year%400==0||(year%4==0&&year%100!=0)){
                System.out.println(year);
                count++;
            }
        }
        System.out.println("count="+count);
    }


    //编写程序数一下 1到 100 的所有整数中出现多少个数字9
    public static void main1(String[] args) {
        int i=0;
        int count=0;
        for(i=1;i<=100;i++){
            if(i%10==9||i/10==9){
                count++;
                System.out.println(i );
            }
        }
        System.out.println("count="+count);
    }
}
